home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Games of Daze
/
Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso
/
x2ftp
/
msdos
/
ai
/
tierra40
/
doc
/
probe.doc
< prev
next >
Wrap
Text File
|
1992-09-10
|
10KB
|
263 lines
TIERRA Genebank Probe
by Daniel Pirone
PURPOSE:
This document describes a software tool that aids in the analysis of the
large amount of "genebank" data generated by the Tierra Artificial Life
Simulation (1). "Probe" allows an automated filtering of genebank data
( tierra creature data files ), by selection of 10 major gene descriptives
( e.g. size ). Probe is an excellent companion tool to Beagle, a graphical
analysis tool, also bundled with the MSDOS version of Tierra.
THE INTERFACE:
The Probe user interface is a simple menu driven system. All of the
menu options are Case Sensitive (Turn Caps Lock Off).
In most cases:
- if you wish to leave a value unchanged, press <Enter> when prompted for
a new value.
- all numeric parameters ( options 1 - 8 ) can have the wildcard value -1,
(negative one), meaning "don't care", which will match any value.
- pressing escape <ESC> , will take you to the previous interface level,
and will Exit the program if done from the main menu.
The main interface looks like the following:
> TIERRA Genebank Probe by Daniel Pirone
>
> 1 - Size (-1)
> 2 - Label ( -1)
> 3 - MaxPropPop threshold [0-100]% (-1)
> 4 - MaxPropInst threshold [0-100]% (-1)
> 5 - Begin Time of MaxPropPop threshold cross (-1,-1)
> 6 - End Time of MaxPropPop threshold cross (-1,-1)
> 7 - Begin Time of Origin (-1,-1)
> 8 - End Time of Origin (-1,-1)
> 9 - Watch Bit String [0,1,?] (????????????????????????????????)
> Watch Bit String (EXsdofh TCsdofh TPsdofh MFsdofh MTsdofh MBsdofh )
> f - Toggle file type (gen)
> i - Genebank Input directory (gb/)
> o - Match Output directory (td/)
> m - Opcode - Instruction Map file (opcode.map)
> v - Set Gene Output viewer (vi)
> G - Begin Probe
>
>
> PROBE | (1-9) = edit param, 0 = init params, G=go <ESC> = quit ->
>
At this point you may enter a digit 1-9 to edit the corresponding parameter,
or 0 to set them to their initial don't care values. Additionally, you
can specify:
- select permanent or temporary gene files,
- an input path & directory for genebank data,
- an output path & directory for ascii format gene data,
- your favorite text viewing executable,
All of these options are detailed below.
Gene Size:
> PROBE | (1-9) = edit param, 0 = init params, G=go <ESC> = quit -> 1
> Enter Size [-1 = don't care] ->
Parameter 1 allows you to select for a specific size of gene.
Gene Label:
> PROBE | (1-9) = edit param, 0 = init params, G=go <ESC> = quit -> 2
> Enter Label [-1 = don't care, aaa-zzz] ->
Parameter 2 allows you to select for a specific gene sequence.
In combination with the size parameter, you can easily extract
and genome of your choice.
MaxPropPop & MaxPropInst:
> PROBE | (1-9) = edit param, 0 = init params, G=go <ESC> = quit -> 3
> Enter threshold [-1 = don't care, 0-100]% ->
Parameters 3 and 4 allow you to select a percent threshold for the
maximum proportion of the population (MPP) and/or max. proportion of
instructions ( bytes of "soup" ) that a gene has attained.
A gene will be selected if its MPP/MPI was greater than or equal to the
percentage you enter. Reasonable values for MPP are 5 - 30, for normally
diverse runs. Values higher than 30 % usually indicate a "mutual exclusion"
scenario. In combination with with the MPP time window, you can easily find
a dominant genome of your choice.
MaxPropPop Time Window & Gene Origin Time Window:
> PROBE | (1-9) = edit param, 0 = init params, G=go <ESC> = quit -> 5
> Enter millions , insts [-1 = don't care] ->
These two part parameters allow you to specify a temporal window
in which to look for a MPP threshold ( param 3 ) crossing, or
the Origin of a gene. For both the Begin and End time specifications,
your input can take the form:
m
or
m,i
Where m is a -1 for don't care, or a non-negative integer representing
a number of millions of Tierrian instructions executed, and i is the
remainder of instructions executed. If only a single number is entered,
it is assumed to be the millions part.
Watch Bits String:
> PROBE | (1-9) = edit param, 0 = init params, G=go <ESC> = quit -> 9
This complex parameter allows you to look for a specific behavioral trait
(eg: writing on its own memory, using someone elses template)
For each of the following 30 parameters, you may :
- press <Enter> to leave the value as it is,
- enter a 1/0 to look for the presence of this trait,
- enter a ? for don't care
- press <ESC> to return to the main menu, leaving the rest of the 30
Watch Bits as they were.
The Watch bits are:
Bit 2 EXs = executes own instructions (self)
Bit 3 EXd = executes daughter's instructions
Bit 4 EXo = executes other cell's instructions
Bit 5 EXf = executes instructions in free memory
Bit 6 EXh = own instructions are executed by other creature (host)
Bit 7 TCs = matches template complement of self
Bit 8 TCd = matches template complement of daughter
Bit 9 TCo = matches template complement of other
Bit 10 TCf = matches template complement of free memory
Bit 11 TCh = own template complement is matched by other creature (host)
Bit 12 TPs = uses template pattern of self
Bit 13 TPd = uses template pattern of daughter
Bit 14 TPo = uses template pattern of other
Bit 15 TPf = uses template pattern of free memory
Bit 16 TPh = own template pattern is used by other creature (host)
Bit 17 MFs = moves instruction from self
Bit 18 MFd = moves instruction from daughter
Bit 19 MFo = moves instruction from other cell
Bit 20 MFf = moves instruction from free memory
Bit 21 MFh = own instructions are moved by other creature (host)
Bit 22 MTs = moves instruction to self
Bit 23 MTd = moves instruction to daughter
Bit 24 MTo = moves instruction to other cell
Bit 25 MTf = moves instruction to free memory
Bit 26 MTh = is written on by another creature (host)
Bit 27 MBs = executing other creatures code, moves inst from self
Bit 28 MBd = executing other creatures code, moves inst from daughter
Bit 29 MBo = executing other creatures code, moves inst from other cell
Bit 30 MBf = executing other creatures code, moves inst from free memory
Bit 31 MBh = other creature uses another cpu to move your instructions
For a more detailed description of the Watch Bits, see the Tierra Users Guide
(and/or the source code!).
Gene File Type:
> PROBE | (1-9) = edit param, 0 = init params, G=go <ESC> = quit -> f
The f option allows you to choose to scan permanent genes (.gen files),
or temporary genes (.tmp files) generated as Tierra shut down. Temporary
gene files generally contain "less fit" genes.
GENE OUTPUT VIEWER:
> PROBE | (1-9) = edit param, 0 = init params, G=go <ESC> = quit -> v
The v option allows you to choose a path and executable file
( and limited command line options ) used to view the ascii format of
the selected genes. These gene files are written to the Output
directory ( 'o' option ). In Unix, you might use more, less, vi, cat ...
In MSDOS, the default 'more <' is ok, but something more like the
EDIT program that comes with DOS 5.x is better. The syntax of the
system shell call is roughly:
path/viewer.exe options output_path/gene
----- v option -------- -- o ------ - found file ( eg 0080aaa )
If no path is specified, the executable must be in you path.
PROBING THE GENEBANK:
> PROBE | (1-9) = edit param, 0 = init params, G=go <ESC> = quit -> G
Once you have entered all the parameters you care to specify, entering
a capitol G will initiate the search. The first thing Probe will do
is read in the opcode mapping file you have specified with the 'm'
parameter. The file is assumed to be in the same directory as the Genebank
input files, ( the 'i' parameter ). This is used to decode the numeric
instructions to a human digestible from. The default ( opcode.map ) is
usually fine, but Please take care that if you use a different mapping,
that you specify it!
After pressing the G, you can stop the search with your break key
<Control-C>, (or <ESC> in MSDOS ). When the search starts you will see:
> BEGIN Probing Genebank
>
> scanning archive |gb//0080.gen|
The filename should flash as Probe looks through the files.
If Probe finds a genome that matches your parameter settings:
> 0080aaa
> Enter y to show , ESC to break out, any other key to continue ->
At this point you may enter a 'y' to use the viewer ( 'v' option )
to look at an ascii format of the gene that has been written to the
Output directory ( 'o' option ). Pressing <ESC> will take you back to the
main menu, and any other key will continue the search.
> Enter y to show , ESC to break out, any other key to continue ->y
> format: 2 bits: 45750471 EXsh TCsh TPs MFsofh MTdf MB
> genotype: 0080aaa parent genotype: 6666god
> 1st_daughter: flags: 0 inst: 827 mov_daught: 80 breed_true: 1
> 2nd_daughter: flags: 0 inst: 809 mov_daught: 80 breed_true: 1
> Origin: InstExe: 0,0 clock: 0 Wed Dec 31 17:00:00 1969
> MaxPropPop: 0.8306 MaxPropInst: 0.4239 mpp_time: 0,0
> ploidy: 1 track: 0
>
> track 0: prot
> xwr
> nop_1 ; 010 110 01 0
> nop_1 ; 010 110 01 1
> nop_1 ; 010 110 01 2
> nop_1 ; 010 110 01 3
> zero ; 010 110 04 4
> or1 ; 010 110 02 5
> shl ; 010 110 03 6
> shl ; 010 110 03 7
> mov_cd ; 010 110 18 8
>
> ...
>
> ret ; 010 110 17 74
> nop_1 ; 010 100 01 75
> nop_1 ; 010 100 01 76
> nop_1 ; 010 100 01 77
> nop_0 ; 010 100 00 78
> if_cz ; 010 000 05 79
>
> END Probing Genebank
> Enter to continue
Please send bug reports to : tierra-bug@life.slhs.udel.edu
-----------------------------------------------------------------------------
(1) Tierra is available by anonymous ftp from:
tierra.slhs.udel.edu ( 128.175.41.33 )
or on disk by mail from Virtual Life, P.O. Box 625, Newark, DE 19715.
Make check for $65 payable to Virtual Life, and specify 3.5" or 5.25" disks.
-----------------------------------------------------------------------------